﻿#include <stdio.h>
#include <windows.h>

int main() {
    FILE* pf = fopen("test.txt", "w");

    // 先将数据放入输出缓冲区
    fputs("abcdef", pf);

    // 提示消息，输出到标准输出流（控制台）
    printf("睡眠10秒-已经写数据了，打开test.txt⽂件，发现⽂件没有内容\n");

    // 休眠10秒钟，模拟等待一段时间
    Sleep(10000);

    // 刷新缓冲区，将输出缓冲区的数据写入到文件（磁盘）
    fflush(pf);

    // 注：fflush 在⾼版本的VS上不能使⽤了

    // 提示消息，输出到标准输出流
    printf("刷新缓冲区\n");

    // 再次休眠10秒钟
    Sleep(10000);

    // 关闭文件流，同时刷新缓冲区，确保数据写入文件
    fclose(pf);

    // 注：fclose在关闭⽂件的时候，也会刷新缓冲区

    // 避免悬挂指针
    pf = NULL;

    return 0;
}
